The present invention concerns generation of a clock signal used to access peripheral devices in a computing system.
Clock signals are used to control the speed of operation of computer systems. The frequency of a clock signal depends upon the speed at which the logic of the computing system is able to operate.
In many computing system, more than a single clock signal is used. For example, in computers compatible with PC AT computers manufactured by IBM corporation, two clock signals are used. The first clock signal, called a CPU clock, is used for the central processing unit (CPU). The second clock signal, called the system clock, is used to control the speed at which peripheral devices of the computing system transfer information over an input/output bus.
Generally, the CPU clock and the system clock are generated by clock generator circuit logic. The clock generator circuit logic typically receives a clock oscillation signal. The frequency of the clock oscillation signal is typically at least twice the maximum frequency at which a CPU is anticipated to be able to run. The clock signal generator then divides the frequency by whole integers in order to produce the CPU clock and the system clock. For example, when the clock oscillation signal oscillates at a frequency of 32 megahertz (MHz), the CPU is able to operate at 16 MHz and peripherals on the I/O bus are able to transfer data at 8 megahertz, then the clock generator circuit logic divides the clock oscillation signal by two to produce the CPU clock and divides the clock oscillation signal by four to produce the system clock.
One shortfall with the above-described prior art clock generator circuit logic is the lack of flexibility. For example, different peripheral devices are able to transfer information at different rates over the input/output bus. In some systems flexibility in selection of clock speed for various peripherals have been implemented using software to make the selection. However, the use of software significantly adds to the complexity of the circuit.